// pages/propagandaModify/propagandaModify.js
const app = getApp();
const util = require('../../utils/util');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /*  */
    userInfo_share: null,
    /*  */
    activeIndex:0,
    type:"",  //操作类型
    /* 
            {
              "images":[
                {"image":"http://ldfs.csgxcf.com/G01/M00/00/B2/wKgAMF7EqAWAQ4F8AAD2Vy8wA5o574.png","style":"margin-top:20px;"},{"image":"http://ldfs.csgxcf.com/G02/M00/00/B2/wKgAIl7EqAWAS5y2AAC3kwyXjf4374.png","style":"margin-top:30px;"},{"image":"http://ldfs.csgxcf.com/G02/M00/00/B2/wKgAIl7EqAaAAW8pAADzdBhIrJk812.png","style":"margin-top:70px;"}
              ],
              "background_style":"background:#ffffff"
            }
          */
    typeData:[
      {
        name:"产品展示",
        fl_title:"产品名称：",
        sl_title:"产品简介：",
        tl_title:"产品LOGO",
        fourth_title:"产品介绍：",
        reqArgs:{
          class_id:"",  //分类id
          icon:"",  //按钮图标
          image:"",    //图片（json）
          isPay:"",   //是否支付：0、否，1、是
          name:"",     //名称
          describe:""   //简介
        },
        descibes:"",  //产品简介
        productImgs:[],  //产品图片--一张
        productIntroImgs:[],  //产品介绍--多张
        //class_id:""  //分类id
      },
      {
        name:"经典案例",
        fl_title:"案例名称：",
        sl_title:"案例简介：",
        tl_title:"案例LOGO：",
        fourth_title:"案例介绍：",
        reqArgs:{
          class_id:"",  //分类id
          icon:"",  //按钮图标
          image:"",    //图片（json）
          isPay:"",   //是否支付：0、否，1、是
          name:"",     //名称
          describe:""   //简介
        },
        descibes:"",  //产品简介
        productImgs:[],  //产品图片--一张
        productIntroImgs:[],  //产品介绍--多张
        //class_id:""  //分类id
      },
      {
        name:"其它服务",
        fl_title:"服务名称：",
        sl_title:"服务简介：",
        tl_title:"服务LOGO：",
        fourth_title:"服务介绍：",
        reqArgs:{
          class_id:"",  //分类id
          icon:"",  //按钮图标
          image:"",    //图片（json）
          isPay:"",   //是否支付：0、否，1、是
          name:"",     //名称
          describe:""   //简介
        },
        descibes:"",  //产品简介
        productImgs:[],  //产品图片--一张
        productIntroImgs:[],  //产品介绍--多张
        //class_id:""  //分类id
      }
    ],
    /* 详情数据 */
    item_id:"",
    item_id_datas:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //获取用户信息
    this.setData({
      userInfo_share:app.globalData.get_userInfo()
    });
    //
    const eventChannel = this.getOpenerEventChannel();
    eventChannel.on("fromPropagandaListToPropagandaModify",data=>{
      //添加
      if(data.type=="add"){
        console.log(data);
        //
        wx.setNavigationBarTitle({
          title: `${data.name}`,
        })
        //
        this.setData({
          activeIndex: data.index*1
        });
        //
        this.setData({
          type:data.type,  //操作类型
          [`typeData[${this.data.activeIndex}].reqArgs.class_id`]:data.class_id,  //分类id
        });
      }
      //编辑
      if(data.type=="modify"){
        console.log(data);
        //
        wx.setNavigationBarTitle({
          title: `${data.name}`,
        })
        //
        this.setData({
          activeIndex: data.index*1,
          item_id:data.item_id
        });
        //
        this.setData({
          type:data.type,  //操作类型
          [`typeData[${this.data.activeIndex}].reqArgs.class_id`]:data.class_id,  //分类id
          [`typeData[${this.data.activeIndex}].productImgs`]:[data.icon],  //logo图片
          [`typeData[${this.data.activeIndex}].reqArgs.name`]:data.name,  //产品名称
          [`typeData[${this.data.activeIndex}].reqArgs.describe`]:data.describes  //产品简介
        });
        //
        try {
          this.setData({
            [`typeData[${this.data.activeIndex}].productIntroImgs`]:JSON.parse(data.info.image).images.map(item=>item.image),  //介绍的图片
          });
        } catch (error) {
          this.setData({
            [`typeData[${this.data.activeIndex}].productIntroImgs`]:[],  //介绍的图片
          });
        }
        //console.log(this.data.typeData[this.data.activeIndex].productIntroImgs);
      }
      //
      if(data.index===0){
        this.setData({
          [`typeData[${this.data.activeIndex}].reqArgs.isPay`]:"1"  //是否可以购买
        });
      }else{
        this.setData({
          [`typeData[${this.data.activeIndex}].reqArgs.isPay`]:"0"  //是否可以购买
        });
      }
    });
  },
  /* 显示介绍的图片 */
  previewIntroImgs(e){
    let { index } = e.currentTarget.dataset;
    wx.previewImage({
      urls: this.data.typeData[this.data.activeIndex].productIntroImgs,
      current: this.data.typeData[this.data.activeIndex].productIntroImgs[index]
    })
  },
  /* 显示logo */
  previewLogo(){
    wx.previewImage({
      urls: this.data.typeData[this.data.activeIndex].productImgs,
    })
  },
  /*  */
  cancelInsertClassProduct(){
    wx.navigateBack();
  },
  /* 确定（添加，修改）产品 */
  confirmInsertClassProduct(){
    //
    if(!this.data.typeData[this.data.activeIndex].reqArgs.name){
      wx.showToast({
        icon:"none",
        title:`请填写${this.data.typeData[this.data.activeIndex].fl_title}`
      });
      return;
    }
    //
    /* if(!this.data.typeData[this.data.activeIndex].reqArgs.describe){
      wx.showToast({
        icon:"none",
        title:"请填写产品简介"
      });
      return;
    } */
    //
    let tmpIntroImgsObj = {};
    let tmpIntroImgs = [];
    this.data.typeData[this.data.activeIndex].productIntroImgs.forEach(item=>{
      tmpIntroImgs.push({
        "image":item,
        "style":"margin-top:20px;"
      });
    });
    tmpIntroImgsObj.images = tmpIntroImgs;
    tmpIntroImgsObj.background_style = "background:#ffffff;"
    //
    this.setData({
      [`typeData[${this.data.activeIndex}].reqArgs.image`]:JSON.stringify(tmpIntroImgsObj)
    });
    //添加产品
    if(this.data.type=="add"){
      //
      console.log(this.data.typeData[this.data.activeIndex].reqArgs);
      //
      this.insertClassProduct().then(()=>{
        setTimeout(()=>{
          //添加成功->返回列表页
          app.globalData.fromPMToPLByAddSuccess = true;
          wx.navigateBack();
        },500);
      });
    }
    //编辑产品
    if(this.data.type=="modify"){
      let modifyArgs = {
        image:"",
        item_id:"",
        name:""
      };
      let infoData = this.data.typeData[this.data.activeIndex];
      //
      modifyArgs.image = infoData.reqArgs.image;
      modifyArgs.item_id = this.data.item_id;
      modifyArgs.name = infoData.reqArgs.name;
      //
      wx.showModal({
        title:"提示",
        content:"确定要修改吗？",
        success:res=>{
          if(res.confirm){
            //
            console.log(modifyArgs);
            this.updateClassItemInfo(modifyArgs).then(()=>{
              setTimeout(()=>{
                //添加成功->返回列表页
                app.globalData.fromPMToPLByModifySuccess = true;
                wx.navigateBack();
              },500);
            });
          }
        }
      });
    }
  },
  /* 修改 */
  updateClassItemInfo(args){
    let name = this.data.typeData[this.data.activeIndex].reqArgs.name.substr(0,2);
    wx.showLoading({
      title: `修改${name}`,
      mask:true
    });
    return app.globalData.$http.call(this,{
      api:"/updateClassItemInfo",
      data:args
    }).then(res=>{
      console.log(res);
      wx.hideLoading();
      if(res.data.code=='1'){
        wx.showToast({
          title: `修改${name}成功`
        });
        return Promise.resolve();
      }else{
        wx.showToast({
          icon:'none',
          title: `修改${name}失败`
        });
      }
    }).catch(err=>{
      wx.showToast({
        icon:'none',
        title: `修改${name}失败`
      });
    });
  },
  /* 添加 */
  insertClassProduct(){
    let name = this.data.typeData[this.data.activeIndex].reqArgs.name.substr(0,2);
    wx.showLoading({
      title: `添加${name}`,
      mask:true
    });
    return app.globalData.$http.call(this,{
      api:"/insertClassProduct",
      data:this.data.typeData[this.data.activeIndex].reqArgs
    }).then(res=>{
      console.log(res);
      wx.hideLoading();
      if(res.data.code=='1'){
        wx.showToast({
          title: `添加${name}成功`
        });
        return Promise.resolve();
      }else{
        wx.showToast({
          icon:'none',
          title: `添加${name}失败`
        });
      }
    }).catch(err=>{
      wx.hideLoading();
      //console.log(err);
      wx.showToast({
        icon:'none',
        title:`添加${name}失败`
      });
    });
  },
  /* 删除产品介绍图片 */
  removeProductIntroImg(e){
    let { index } = e.currentTarget.dataset;
    //
    let tmpArr = this.data.typeData[this.data.activeIndex].productIntroImgs;
    tmpArr.splice(index,1);
    //
    this.setData({
      [`typeData[${this.data.activeIndex}].productIntroImgs`]:tmpArr
    });
  },
  /* 上传产品介绍图片 */
  uploadProductIntroImgs(){
    //
    if(this.data.typeData[this.data.activeIndex].productIntroImgs.length>=9){
      wx.showToast({
        icon:"none",
        title:`${this.data.typeData[this.data.activeIndex].fourth_title}最多只能传9张图片`
      });
      return;
    }
    //
    this.uploadOne().then(data=>{
      //
      let tmpArr = this.data.typeData[this.data.activeIndex].productIntroImgs;
      tmpArr.push(data.substring(1,data.length-1));
      this.setData({
        [`typeData[${this.data.activeIndex}].productIntroImgs`]:tmpArr
      });
    });
  },
  /* 删除产品Logo图片 */
  removeProductImg(){
    this.setData({
      [`typeData[${this.data.activeIndex}].productImgs`]:[],
      [`typeData[${this.data.activeIndex}].reqArgs.icon`]:""
    });
  },
  /* 上传产品logo图片 */
  uploadProductImgs(){
    this.uploadOne().then(data=>{
      let src = data.substring(1,data.length-1);
      //
      this.setData({
        [`typeData[${this.data.activeIndex}].productImgs[0]`]:src,
        [`typeData[${this.data.activeIndex}].reqArgs.icon`]:src
      });
      //
      //console.log(this.data.typeData[this.data.activeIndex]);
    });
  },
  /* 上传图片 */
  uploadOne(){
    return new Promise((resolve, reject)=>{
      wx.chooseImage({
        success:res => {
          wx.showLoading({
            title: '上传中...',
            mask:true
          });
          const tempFilePaths = res.tempFilePaths
          wx.uploadFile({
            url: `${app.globalData.Url}/uploadOne`, //
            filePath: tempFilePaths[0],
            name: 'file',
            formData: {},
            success: res=>{
              wx.hideLoading();
              console.log(res);
              const data = res.data
              //console.log(data);
              resolve(data)
            },
            fail:err=>{
              wx.hideLoading();
              reject("图片上传失败");
            }
          })
        },
        fail:err=>{
          wx.hideLoading();
          reject("选择要上传的图片出错");
        }
      });
    });
  },
  /* 获取产品简介 */
  getTypeDescribe(e){
    //
    this.setData({
      [`typeData[${this.data.activeIndex}].reqArgs.describe`]:e.detail.value
    });
  },
  /* 获取输入的名称 */
  getTypeName(e){
    //
    this.setData({
      [`typeData[${this.data.activeIndex}].reqArgs.name`]:e.detail.value
    });
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})